#pragma once
#include <common/RefCounter.h>

namespace catan
{
	class Field : public BoardItem
	{
	public:
		Field();
		~Field(void);
		void SetRobber(Handle<Robber> val) { mRobber = val; }

	protected:
		
	public: 
		BuildPoints mBuildPoints;
		Fields mEdgeFields;
		Edges mEdges;

		Handle<FieldDieNum> mDiceNum;
		Handle<FieldResource> mFieldResource;
		Handle<Robber> mRobber;

		template<class Serializer>
		void serialize(Serializer & s, const unsigned int version)
		{
			s
				& mBuildPoints
				& mEdgeFields
				& mEdges
				& mDiceNum
				& mFieldResource
				& mRobber;
		}
	};
}	